/*
 * Logger.h
 *
 */

#ifndef LOGGER_H_
#define LOGGER_H_

#include <fstream>

enum Threshold {
	DEBUG, ERROR
};

class Logger {
private:
	std::fstream file;
	Threshold threshold;

	Logger() : threshold(DEBUG) {}
	Logger(const Logger&);
	Logger& operator=(const Logger&);
public:
	virtual ~Logger() {}

	static Logger& getInstance();

	void config(const std::string& path, Threshold treshold = ERROR);
	void debug(const std::string& message);
	void error(const std::string& message);
};

#endif /* LOGGER_H_ */
